#ifndef _DISPLAY_MANAGER_H
#define _DISPLAY_MANAGER_H
#include <font_manager.h>
#include <command.h>
typedef struct DispBuffer{
	int iXres;
	int iYres;
	int iBpp;
	char * buff;
}DispBuffer , *PDispBuffer; 

 

typedef struct DispOpr {
	char * name;
	int (*DeviceInit)(void);
	int (*DeviceExit)(void);
	int (*GetBuffer)(  PDispBuffer ptDisplayBuffer);
	int (*FlushRegion)( PRegion ptRegion ,PDispBuffer ptDispBuffer);
	struct DispOpr * pNext;
	
}DispOpr , *PDispOpr;

void RegisterDisplay(PDispOpr ptDispOpr);
int SelectDefaultDisplay(char * name);
void DisplayInit(void);
int InitDefaultDisplay(void);
int putPixel(int x , int y , int dwColor);
PDispBuffer Get_DispBuffer(void);
int FlushDispRegion( PRegion ptRegion ,PDispBuffer ptDispBuffer);
void DrawFontBitMap(PFontBitMap ptFontBitMap , int dwColor);
void DrawRegion(PRegion ptRegion, int dwColor);
void DrawTextInRegion_Central(char * name, PRegion ptRegion, unsigned int dwColor);

#endif
